//导入第三方模块 bcrypt 返回一个对象调用该对象下的compare方法将获得的用户密码与数据库密码做比对
const bcrypt = require('bcrypt');
//导入用户集合
const { User } = require('../../model/user');
//给admin对象挂载二级路由
module.exports = async(req, res) => {
    // res.send(req.body);
    let { email, password } = req.body;
    let result = await User.findOne({ email });
    // console.log(result);
    //用用户输入的密码与数据库加密的密码做比对
    let flag = await bcrypt.compare(password, result.password);
    if (result) {
        if (flag) {
            // res.send('登陆成功');
            req.app.locals.id = result._id;
            req.session.userName = result.userName;
            req.session.role = result.role;
            req.app.locals.userInfo = result;
            if (result.role == 'normal') {
                res.redirect('/home/default')
            } else {
                res.redirect('/admin/user');
            }

        } else {
            // res.send('邮箱地址或密码错误');
            res.status(400).render('admin/error', { title: '邮箱地址或密码错误' })
        }
    } else {
        res.status(400).render('admin/error', { title: '邮箱地址或密码错误' })
    }

};